<?php 
include_once '../classes/design.php';
include_once '../classes/dao.php';

$design = new Design("..", "onbeforeunload='return confirmarSaida()'");
$design->adicionar_form("form_missa");
$dao = new DAO();

if (isset($_REQUEST["id"])) {
	try {
		$missa = $dao->get_missa($_REQUEST["id"]);
	}
	catch (Exception $e) {
		header("Location: index.php?erro=".$e->getMessage());
	}
}
else {
	$missa = new Missa();
	if (isset($_REQUEST["tipo_missa"])) {
		$missa->set_tipo_missa($_REQUEST["tipo_missa"]);
	}
	$missa->set_tipo_missa("Comum");
}
$tipo_missa = $missa->get_tipo_missa();

$design->imprimir_topo();
?>

<a href="index.php" class="titulo">Eventos</a><br/>

<script type="text/javascript" src="../javascript/funcoes.js"></script>
<script type="text/javascript" src="../javascript/validacao.js"></script>
<script type="text/javascript" src="../javascript/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="../javascript/jquery-ui-1.8.17.custom.min.js"></script>
<script type="text/javascript" src="../javascript/date.format.js"></script>
<script type="text/javascript" src="../javascript/jquery.ui.datepicker-pt-BR.js"></script>
<script type="text/javascript" src="../javascript/jquery.colorbox.js"></script>
<script>
function limparMusica(parte_missa, tempo) {
	if ($(".musica_" + parte_missa + tempo).val() == "") {
		$('input[type="text"][id*="musica_' + parte_missa + '"]').val('');
		$(".id_" + parte_missa).val("");
		$(".tom_" + parte_missa).val($('option:first', ".tom_" + parte_missa).val(""));
	}
}


function mudarTipo() {
	var tipo = $("#tipo_missa").val();
	var filhos = $("#musicas").children();
	for (var i = 0; i < filhos.length; i++) {
		var elemento = filhos[i];
		if ($(elemento).attr("id") == tipo) {
			elemento.style.display = "inline";
		}
		else {
			elemento.style.display = "none";
		}
	}
}

function adicionarMusica(id, titulo, tom, parte_missa) {
	$('input[type="text"][id*="musica_' + parte_missa + '"]').val(titulo);
	$(".id_" + parte_missa).val(id);
	$(".tom_" + parte_missa).val(tom);
}

$(function() {
	var dates = $("#data_inicio, #data_fim").datepicker({
		dateFormat: 'dd/mm/yy',
		changeMonth: true,
		changeYear: true,
		yearRange: 'c-5:c+5',
		onClose: function() {
			desselecionar(this);
		},
		onSelect: function(selectedDate) {
			var dia = selectedDate.substring(0, 2);
			var mes = selectedDate.substring(3, 5);
			var ano = selectedDate.substring(6, 10);
			var dataSelecionada = new Date(mes + "-" + dia + "-" + ano);
			var option;
			if (this.id == "data_inicio") {
				option =  "minDate";
				dataSelecionada.setDate(dataSelecionada.getDate() + 1);
			}
			else {
				option = "maxDate";
				dataSelecionada.setDate(dataSelecionada.getDate() - 1);
			}
			data = dataSelecionada.format('dd/mm/yyyy');
			dates.not(this).datepicker("option", option, data);
		}
	});
});
</script>

<?php 
if (isset($erro)) {
	echo "<div class=\"erro\">$erro</div>";
}

echo "
 <form method=\"post\" action=\"salvar_missa.php\" id=\"form_missa\">
	<input type=\"hidden\" name=\"id\" value=\"".$missa->get_id()."\" />
	<table border=\"0\" align=\"center\">
		<tr valign=\"top\">
			<td>
				<table border=\"0\" align=\"center\">
";
if ($missa->get_quem_mexeu() != "") {
	echo "
					<tr valign=\"top\">
						<td align=\"right\" colspan=\"2\"><i>Última alteração: ".$missa->get_quando_mexeu()." por ".$missa->get_quem_mexeu()."</i></td>
					</tr>
	";
}
echo "
					<tr valign=\"top\">
						<td align=\"right\"><b>Tempo litúrgico:</b></td>
						<td>
							<select name=\"tipo_missa\" id=\"tipo_missa\" onchange=\"javascript: mudarTipo();\">
";
foreach (Missa::tempos_liturgicos() as $tempo) {
	echo "<option value=\"$tempo\"";
	if ($tempo == $missa->get_tipo_missa()) {
		echo " selected";
	}
	echo ">$tempo</option>";
}
echo "
							</select>
						</td>
					</tr>
					<tr valign=\"top\">
						<td align=\"right\"><b>Nome da Missa: *</b></td>
						<td><input type=\"text\" name=\"nome\" value=\"".htmlentities($missa->get_nome(), ENT_QUOTES, "UTF-8")."\" style=\"width: 100%;\" alt=\"Nome da Missa|Obrig\" />
					</tr>
					<tr valign=\"top\">
						<td align=\"right\"><b>Local:</b></td>
						<td><input type=\"text\" name=\"local\" value=\"".htmlentities($missa->get_local(), ENT_QUOTES, "UTF-8")."\" style=\"width: 100%;\" />
					</tr>
					<tr valign=\"top\">
						<td align=\"right\"><b>Data de início: *</b></td>
						<td><input type=\"text\" name=\"data_inicio\" id=\"data_inicio\" value=\"".$missa->get_data_inicio_formatada()."\" alt=\"Data de início|Obrig|Data|NN/NN/NNNN\" onkeyup=\"preencher(this, 'NN/NN/NNNN', event);\" /></td>
					</tr>
					<tr valign=\"top\">
						<td align=\"right\"><b>Data de término:</b></td>
						<td>
							<input type=\"text\" name=\"data_fim\" id=\"data_fim\" value=\"".$missa->get_data_fim_formatada()."\" alt=\"Data de término|Opcional|DataComparacao.Depois.data_inicio|NN/NN/NNNN\" onkeyup=\"preencher(this, 'NN/NN/NNNN', event);\"/><br/>
							(só necessário se o evento durar mais de um dia)
						</td>
					</tr>
					<tr valign=\"top\">
						<td align=\"right\"><b>Descrição:</b></td>
						<td><textarea name=\"descricao\" style=\"width: 600px; height: 50px;\">".$missa->get_descricao()."</textarea></td>
					</tr>
					<tr valign=\"top\">
						<td align=\"right\"><b>Músicas:</b></td>
						<td id=\"musicas\">
";
foreach (Missa::tempos_liturgicos() as $tempo) {
	echo "<table class=\"semPadding\" id=\"$tempo\"";
	if ($tipo_missa != $tempo) {
		echo " style=\"display: none;\"";
	}
	echo ">";
	foreach (Missa::partes_da_missa($tempo) as $parte_missa) {
		$musica_missa = $missa->get_musica_missa($parte_missa);
		$label = Missa::label($parte_missa);
		if (isset($musica_missa)) {
			$musica = $musica_missa->get_musica();
			$tom = $musica_missa->get_tom();
		}
		else {
			$musica = null;
			$tom = "";
		}
		echo "
					 <tr valign=\"middle\">
					 	<td align=\"right\">$label</td>
					 	<td>
					 		<input type=\"hidden\" name=\"partes_missa_".$tempo."[]\" value=\"$parte_missa\" />
					 		<input type=\"text\" id=\"musica_$parte_missa$tempo\" name=\"musicas[]\" value=\"".(isset($musica) ? $musica->get_titulo() : "")."\" />
					 		<input type=\"hidden\" id=\"id_$parte_missa$tempo\" class=\"id_$parte_missa\" name=\"id_musicas_".$tempo."[]\" value=\"".(isset($musica) ? $musica->get_id() : "")."\" />
					 		&nbsp;&nbsp;&nbsp;
					 		Tom: <select name=\"tom_musicas_".$tempo."[]\" id=\"tom_$parte_missa$tempo\" class=\"tom_$parte_missa\">
					";
		foreach(Musica::lista_tons() as $tom_possivel) {
			echo "<option value=\"$tom_possivel\"";
			if ($tom_possivel == $tom) {
				echo " selected";
			}
			echo "/>$tom_possivel</option>";
		}
		
		echo "
							</select>
							&nbsp;&nbsp;&nbsp;
							<a id=\"iframe_$parte_missa$tempo\" href=\"../musicas/procurar.php?parte_missa=$parte_missa\">".$design->get_imagem("search.png")." Procurar música</a>
							<script>
								\$(\"#iframe_$parte_missa$tempo\").colorbox({
									iframe: true, 
									width: \"75%\", 
									height: \"80%\",
									fixed: true,
									opacity: 0.8});
								\$(\"#musica_$parte_missa$tempo\" ).autocomplete({
									source: \"../servicos/procurar_musicas.php\",
									minLength: 2,
									delay: 0,
									change: function (event, ui) {
										if (!ui.item) {
											\$('input[type=\"text\"][id*=\"musica_$parte_missa\"]').val(\"\");
											\$('input[type=\"hidden\"][id*=\"id_$parte_missa\"]').val(\"\");
											\$(\".tom_$parte_missa\").val(\"\");
											limparMusica('$parte_missa', '$tempo');
										}
									},
									focus: function (event, ui) {
										\$('input[type=\"text\"][id*=\"musica_$parte_missa\"]').val(ui.item.value);
										\$(\".id_$parte_missa\").val(ui.item.id);
										\$(\".tom_$parte_missa\").val(ui.item.tom);
									},
									close: function (event, ui) {
										limparMusica('$parte_missa', '$tempo');
									}
								});
								\$('input[type=\"text\"][id*=\"musica_$parte_missa\"]').blur(function () {
									limparMusica('$parte_missa', '$tempo');
								});
							</script>
					 	</td>
					 </tr>
		";
	}
	echo "</table>";
}
echo "
						</td>
					</tr>
					<tr>
					<td colspan=\"2\" align=\"center\">
						<button type=\"submit\">Salvar</button>
						<button type=\"button\" onclick=\"javascript: window.location.href='index.php'\">Cancelar</button>
";
if ($missa->get_id() != "") {
	echo "<button type=\"button\" onclick=\"javascript: confirmarExclusaoEvento(".$missa->get_id().", '".addslashes(htmlspecialchars($missa->get_nome()))."', 'Missa');\">Excluir</button>";
}
echo "
					</td>
				</table>
			</td>
";
if ($missa->get_id() != "") {
	echo "
				<td>
					<div class=\"lateral\">
						<a href=\"folha.php?id=".$missa->get_id()."\">".$design->get_imagem("folha.png")." Folha de cantos</a>
					</div>
				</td>
	";
}
echo "
		</tr>
	</table>
 </form>
";
?>

<?php 
$design->imprimir_fim();
?>